package com.zuipin.mapper;

import java.math.BigDecimal;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zuipin.entity.BalanceRecord;
import com.zuipin.enums.BalanceType;
import com.zuipin.util.Pagination;

/**
 * BalanceRecordMapper数据库操作接口类
 * 
 * @ClassName: BalanceRecord
 * @author wuyicheng 
 * @time 2017年4月18日下午4:43:18 
 **/

@Mapper
public interface BalanceRecordMapper {
	
	/**
	 * 查询（根据主键ID查询）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public BalanceRecord findById(@Param("id") Long id);
	
	/**
	 * 删除（根据主键ID删除）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int deleteByPrimaryKey(@Param("id") Long id);
	
	/**
	 * 添加 （匹配有值的字段）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int insert(BalanceRecord balanceRecord);
	
	/**
	 * 修改 （匹配有值的字段）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int update(BalanceRecord balanceRecord);
	
	/** 
	 *
	 * @Title: findListByPage 
	 * @author: wuyicheng
	 * @date: 2017年4月25日下午10:13:54 
	 * @param balanceRecord
	 * @param page
	 * @return
	 * @return: List<BalanceRecord>
	 * @throws 
	 */
	public List<BalanceRecord> findListByPage(@Param("br") BalanceRecord balanceRecord, @Param("page") Pagination page);
	
	/**
	 * 通过会员ID获取当前余额
	 * @param memberId
	 * @return
	 */
	public BigDecimal getCurrentBalance(@Param("memberId") Long memberId,@Param("sysId") Long sysId);
	
	/**
	 * 通过系统Id和充值订单号查询支付状态
	  *  @Title: queryPayStatusByOddNumbers
	  * @author joy.zhang
	  * @date 2017年8月14日 上午11:32:07
	  * @param sysId
	  * @param oddNumbers
	  * @return
	  * @return List<BalanceRecord>
	 */
	public List<BalanceRecord> queryPayStatusByOddNumbers(@Param("sysId") Long sysId, @Param("oddNumbers") String oddNumbers, @Param("balanceType") BalanceType balanceType);
	
}